<?php

/**
 * ............品牌公用模型...............
 */
 class BrandModel extends Model{
 	//........设置分类模板属性............
	public $table = 'brand';
	
	//.........自动验证..............
	public $validate = array(
		//array('字段名','验证方法/验证类','错误信息','验证条件','验证时机')
		//判断用户名是否为空
		//2是必须验证
		//3是插入与更新的时候都要验证
		array('bname','nonull','品牌名称不能为空',2,3),
		
		array('bname','maxlen:20','名称不能超过20个字符',2,3),
	
	);
	
	//............自动完成..........
	
	public $auto = array(
		//方法  
		// 2.必须处理  
		// 3值不为空时
		array('logo','_logo','method',2,3)
		
	);
	
	//..........上传logo...............
	
		public function _logo(){
			//执行上传
			$upload = new Upload();
			$file = $upload->upload();
			if($file){
				//执行缩略
				$img = new Image();
				$info = $img->thumb($file[0]['path']);
				return $info;
			}else{
				//...修改时....
				if($LogoH = Q('post.logoH')) return $LogoH;
			}
		}	
	
	
	/**
	 * ..........添加............
	 */
	 public function add_data(){
	 	
	 	//品牌不能有同名
		$bname = Q('post.bname');
		//获取用户输入的名称比较有没有相同的品牌名称
		if($this->get_one_data(array('bname'=>$bname))){
			//弹出错误信息
			$this->error = $bname . '名称已经存在';
			//返回假
			return false;
		}
		//必须加create函数,否则返回假
		//如果这个放在上面则先进入$this->data里面，是先存到这里，然后上面判断的时候，会把原有的清空
		//如果把他放在这里，那么是判断先从数据库里调，然后在存入这里，最后$this->add()查找
		if(!$this->create()) return false;
		//添加数据
		return $this->add();
	 }
	 
	 /**
	 * ..........获得所有数据.............
	 */
	 
	  public function get_all_data($where=NULL,$needPage=FALSE){
		//判断，如果使用分页
		if($needPage){																											
			//分页类用法
			//1.总条数（使用分页的时候where是有值的）
			$total = $this->where($where)->count();
			//2.每页取得多少条
			//3.显示页码的数量，10显示10条
			$pageObj = new Page($total,10);
			//显示分页
			$page = $pageObj->show();
			//算出分页类的limit
			$limit = $pageObj->limit();
			//在使用分页类的时候要注意limit
			$data = $this->where($where)->limit($limit)->all();
			//把page转换成一个数组
			$data['page'] = $page;
			//如果不使用分页
		}else{
			//那么where是null
			$data = $this->where($where)->all();
		}
		//返回$data
		 return $data;	
	 }
	  
	  /**
	  * ............删除.............
	  */
	 public function del_data($bid){
		//删除数据
		return $this->where(array('bid'=>$bid))->delete();
	 }
	 
	 /**
	  * ............修改...................
	  */
	  public function eaid_data($where){
		$this->where($where)->save();
	  }
	 
	 /**
	  * ..........获得一条数据.........
	  */
	  
	 //设置两个参数，这两个参数默认为null
	 public function get_one_data($where=NULL,$field=NULL){
		//主要返回一条数据
		return $this->where($where)->field($field)->find();
	 }




	
	  
	 
		
				
	
 }
 
